<?php

/*
 * 观察者模式
 * EventGenerator,表示一个事件产生者
 * 
 */

namespace IMooc;

abstract class EventGenerator {

    //将这个事件的观察者存入事件的私有属性中,
    private $_observers = array();

    //增加观察者
    function addObserver(Observer $observer)
    {
        $this->_observers[] = $observer;
    }

    //通知,事件发生了,其他观察者可以进行更新操作了
    function notify()
    {
        foreach ($this->_observers as $observer)
        {
            $observer->update();
        }
    }

}
